package com.atguigu.gmall.product.component;


import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

/**
 * Session的伪代码
 * 1、sessionid需要浏览器以cookie的方式保存
 * 2、以cookie的方式保存的任何东西，每次请求都会带
 */
public class SessionManager {
    private Map<String,Session> sessionMap = new HashMap<>();


    /**
     * 命令浏览器以cookie保存唯一id
     * @return
     */
    public String jessionId(){
        String s = UUID.randomUUID().toString();
        sessionMap.put(s,new Session());
        return s;
    }

    /**
     * 按照你带来的cookie中 sessionid 的唯一值
     * @param uid
     * @return
     */
    public Session getYourSession(String uid){
        return sessionMap.get(uid);
    }

    /**
     *         session.setAttribute();
     *         session.getAttribute()
     */
    public void setAttribute(String key,Object value){
        //需要给session保存数据，拿到当前请求的cookie中sessionid的值
        String sessionid = "你拿到的值";
        Session session = getYourSession(sessionid);
        session.put(key,value);
    }
    public Object getAttribute(String key){
        String sessionid = "你拿到的值";
        Session session = getYourSession(sessionid);
        return session.get(key);
    }

}
/**
 * 每个人自己的session
 */
class Session extends HashMap<String,Object>{

}